﻿//Codigo del Grid de Bancos
function InitBancosGrid() {
    var urlListado = '/ModuloBancos.aspx?listado=true&Cuentas=true&';
    var tipo = "Producto";
    var tipos = "Productos";
    $("#GridTableCuentasBancarias").flexigrid
			(
			{
			    url: urlListado,
			    dataType: 'json',
			    colModel: [
			    //id,clave,descripcion,idmarca,idcategoria,idfamilia,precio1,precio2,precio3,especifiaciones
				{display: 'id', name: 'id', width: 50, sortable: true, align: 'center' },
				{ display: 'Institucion', name: 'institucion', width: 220, sortable: true, align: 'left' },
			    //{ display: 'SKU', name: 'SKU', width: 70, sortable: true, align: 'left' },
                {display: 'No. Cuenta', name: 'cuenta', width: 200, sortable: true, align: 'left' },
                { display: 'Banco', name: 'alias', width: 150, sortable: true, align: 'left' },
				{ display: 'Saldo', name: 'saldoActual', width: 150, sortable: true },
				{ display: 'Ultimo Cheque', name: 'numeroUltimoCheque', width:150, sortable: true }
				],
			    searchitems: [
				{ display: 'No. de Cuenta' , name: 'cuenta' },
				{ display: 'Institucion', name: 'institucion', isdefault: true },
                { display: 'Banco' , name: 'alias' },
                { display: 'sucursal', name: 'sucursal' }
				],
			    sortname: "id",
			    sortorder: "desc",
			    usepager: true,
			    title: 'Cuentas Bancarias',
			    useRp: true,
			    width: 1020,
			    height: GridTotalHeight,
			    pagestat: 'Mostrando de {from} a {to} de un total de {total} registros',
			    pagetext: 'Pagina',
			    outof: 'de',
			    findtext: "Buscar <span style='font-size:8px;'>(presione Enter para realizar la busqueda)</span>",
			    procmsg: 'Procesando, Espere por favor ...',
			    nomsg: 'No hay registros',
			    resizable: false,
			    blockOpacity: 0.75,
			    onSuccess: function () { AddGridTotals('GridTableCuentasBancarias'); },
			    OnDoubleClick: function (id) { CargarPaginaBancos('/ModuloBancos.aspx?cuenta=true&idCuenta=' + id + '&detalle=true'); }
			}
			);


}

function InitMovimientosGrid() {
   
    var tipo = "Producto";
    var tipos = "Productos";
    var fechaInicial = $("#movimientosFechaInicial").val();
    var fechaFinal = $("#movimientosFechaFinal").val(); 
    var urlListado = '/ModuloBancos.aspx?listado=true&Movimientos=true&fechaInicial='+fechaInicial+"&fechaFinal="+fechaFinal;
    $("#GridTableMovimientos").flexigrid
			(
			{
			    url: urlListado,
			    dataType: 'json',
			    colModel: [
			    //id,clave,descripcion,idmarca,idcategoria,idfamilia,precio1,precio2,precio3,especifiaciones
				{display: 'id', name: 'id', width: 50, sortable: true, align: 'center' },
				
			    { display: 'Aplicado', name: 'FechaPago', width: 55, sortable: true, align: 'left' },
                { display: 'Cuenta', name: 'idcuentaBancaria', width: 100, sortable: true, align: 'left' },
                { display: 'Documento', name: 'NoCheque1', width: 70, sortable: true, align: 'left' },
                { display: 'Cliente/Proveedor', name: 'nombreDepositario', width: 150, sortable: true, align: 'left' },
                { display: 'Descripcion', name: 'Descripcion', width: 150, sortable: true, align: 'left' },
                { display: 'Abono', name: '', width: 70, sortable: true, align: 'right' },
				{ display: 'Retiro', name: '', width: 70, sortable: true, align: 'right' },
				{ display: 'Saldo Inicial', name: 'SaldoInicial', width: 80, sortable: true, align: 'right' },
			    { display: 'Saldo Final', name: 'SaldoFinal', width: 80, sortable: true, align: 'right' }
			    //                {display: 'Stock', name: 'stock', width: 40, sortable: true, align: 'right' },
			    //                { display: 'Apartados', name: 'apartados', width: 40, sortable: true, align: 'right' },
			    //                { display: 'Precio 1', name: 'precio1', width: 55, sortable: true, align: 'right' },
			    //                { display: 'Precio 2', name: 'precio2', width: 55, sortable: true, align: 'right' },
			    //                { display: 'Precio 3', name: 'precio3', width: 55, sortable: true, align: 'right' },
                //{display: '', name: 'id2', width: 16, sortable: false, align: 'right' },
                //{ display: '', name: 'id2', width: 16, sortable: false, align: 'right' }
				],
			    searchitems: [
				{ display: 'Cliente/Proveedor', name: 'nombreDepositario' },
				{ display: 'Descripcion', name: 'descripcion', isdefault: true },
                { display: 'Banco', name: 'alias' },
                { display: 'Monto', name: 'monto' }
				],
			    sortname: "id",
			    sortorder: "desc",
			    usepager: true,
			    title: 'Movimientos Bancarios',
			    useRp: true,
			    width: 1020,
			    height: GridTotalHeight,
			    pagestat: 'Mostrando de {from} a {to} de un total de {total} registros',
			    pagetext: 'Pagina',
			    outof: 'de',
			    findtext: "Buscar <span style='font-size:8px;'>(presione Enter para realizar la busqueda)</span>",
			    procmsg: 'Procesando, Espere por favor ...',
			    nomsg: 'No hay registros',
			    resizable: false,
			    onSuccess: function () { AddGridTotals('GridTableMovimientos'); },
			    blockOpacity: 0.75
			}
			);


}

function InitChequesGrid() {
    var urlListado = '/ModuloBancos.aspx?listado=true&Cheques=true&';
    var tipo = "Producto";
    var tipos = "Productos";
    $("#GridTableCheques").flexigrid
			(
			{
			    url: urlListado,
			    dataType: 'json',
			    colModel: [
			    //id,clave,descripcion,idmarca,idcategoria,idfamilia,precio1,precio2,precio3,especifiaciones
				{display: 'id', name: 'id', width: 50, sortable: true, align: 'center' },
				{ display: 'cuenta', name: 'idCuenta', width: 70, sortable: true, align: 'left' },
			    //{ display: 'SKU', name: 'SKU', width: 70, sortable: true, align: 'left' },
                {display: 'No. cheque', name: 'nocheque', width: 50, sortable: true, align: 'left' },
                { display: 'a Nombre de', name: 'aNombreDe', width: 250, sortable: true, align: 'left' },
                { display: 'Concepto', name: 'concepto', width: 265, sortable: true, align: 'left' },
				{ display: 'F. Creacion', name: 'c.fechaCreacion', width: 55, sortable: true },
				{ display: 'F. Pago', name: 'fechaPago', width: 55, sortable: true },
                { display: 'Monto', name: 'monto', width: 70, sortable: true, align: 'right' },
			    // { display: 'Modelo', name: 'modelo', width: 70, sortable: true },
			    //                {display: 'Stock', name: 'stock', width: 40, sortable: true, align: 'right' },
			    //                { display: 'Apartados', name: 'apartados', width: 40, sortable: true, align: 'right' },
			    //                { display: 'Precio 1', name: 'precio1', width: 55, sortable: true, align: 'right' },
			    //                { display: 'Precio 2', name: 'precio2', width: 55, sortable: true, align: 'right' },
			    //                { display: 'Precio 3', name: 'precio3', width: 55, sortable: true, align: 'right' },
			    //        {display: '', name: 'id2', width: 16, sortable: false, align: 'right' },
        {display: 'status', name: 'id2', width: 30, sortable: false, align: 'center' }
				],
			    searchitems: [
                { display: 'A Nombre de', name: 'aNombreDe', isdefault: true },
                { display: 'Concepto', name: 'concepto' },
                { display: 'Cuenta', name: 'alias' }
				],
			    sortname: "id",
			    sortorder: "desc",
			    usepager: true,
			    title: 'Cheques y Salidas de Dinero',
			    useRp: true,
			    width: 1020,
			    height: GridTotalHeight,
			    pagestat: 'Mostrando de {from} a {to} de un total de {total} registros',
			    pagetext: 'Pagina',
			    outof: 'de',
			    findtext: "Buscar <span style='font-size:8px;'>(presione Enter para realizar la busqueda)</span>",
			    procmsg: 'Procesando, Espere por favor ...',
			    nomsg: 'No hay registros',
			    resizable: false,
			    blockOpacity: 0.75,
			    onSuccess: function () { AddGridTotals('GridTableCheques'); },
			    OnDoubleClick: function (id) { CargarPaginaBancos('/ModuloBancos.aspx?cheque=true&idCheque=' + id + '&detalle=true'); }
			}
			);

}

function initModuloBancos() {

}


function InitDetalleCuentaGrid() {
    var idCuentaBancariaDetalle = $("#idCuentaDetalle").val();
    $("#GridMovimientosDetalleCuenta").flexigrid
			(
			{
			    url: '/ModuloBancos.aspx?listado=true&Movimientos=true&idCuenta='+idCuentaBancariaDetalle+'&',
			    dataType: 'json',
			    colModel: [
			    //id,clave,descripcion,idmarca,idcategoria,idfamilia,precio1,precio2,precio3,especifiaciones
				{display: 'id', name: 'id', width: 50, sortable: true, align: 'center' },
			    { display: 'Aplicado', name: 'FechaPago', width: 55, sortable: true, align: 'left' },
                { display: 'Cuenta', name: 'idcuentaBancaria', width: 100, sortable: true, align: 'left',hide:true },
                { display: 'N. Ch.', name: 'NoCheque', width: 50, sortable: true, align: 'left' },
                { display: 'N. Ped.', name: 'NoPedido', width: 50, sortable: true, align: 'left' },
                { display: 'Descripcion', name: 'Descripcion', width: 380, sortable: true, align: 'left' },
                { display: 'Abono', name: '', width: 70, sortable: true, align: 'right' },
				{ display: 'Retiro', name: '', width: 70, sortable: true, align: 'right' },
				{ display: 'Saldo Inicial', name: 'SaldoInicial', width: 80, sortable: true, align: 'right' },
			    { display: 'Saldo Final', name: 'SaldoFinal', width: 80, sortable: true, align: 'right' }
				],
			    searchitems: [
				{ display: 'Descripcion', name: 'descripcion', isdefault: true }
				],
			    sortname: "id",
			    sortorder: "desc",
			    usepager: true,
			    title: 'Movimientos Realizados',
			    useRp: true,
			    width: 1024,
			    height: GridTotalHeight-100,
			    pagestat: 'Mostrando de {from} a {to} de un total de {total} registros',
			    pagetext: 'Pagina',
			    outof: 'de',
			    findtext: "Buscar <span style='font-size:8px;'>(presione Enter para realizar la busqueda)</span>",
			    procmsg: 'Procesando, Espere por favor ...',
			    nomsg: 'No hay registros',
			    resizable: false,
			    blockOpacity: 0.75
			}
			);

}

function initModuloBancosCheque() {
    $("#FechaPagoCheque").attr("readonly", "readonly").datepicker({ minDate: -1,
        maxDate: "+6M",
        numberOfMonths: 2,
        showButtonPanel: true
    });
    //$("#NoCheque").attr("readonly", "readonly");
    AutocompletarProveedoresCheques();
}

function AutocompletarProveedoresCheques() {
    LoadCuentasBancarias();
    $("#CuentaBancariaCheque").autocomplete(ListaCuentasBancarias, {
        minChars: 0,
        width: 250,
        matchContains: "word",

        autoFill: false,
        formatItem: function (row, i, max) {
            return i + "/" + max + ": \"" + row.alias + " ["+row.cuenta+"]";
        },
        formatMatch: function (row, i, max) {
            return row.alias;
        },
        formatResult: function (row) {
            return row.alias;
        }
    }).result(function (event, item) {
        with (item) {
            if (id != 0) {
                $("#idCuentaCheque").val(id);
                if ($('#tipoRetiroDinero option:selected').val()=="1")
                    $("#NoCheque").val(numeroUltimoCheque+1);
            }
        }

    }).setOptions({ data: ListaCuentasBancarias });




    $("#ANombreDe").autocomplete(ListaProveedores, {
        minChars: 0,
        width: 250,
        matchContains: "word",

        autoFill: false,
        formatItem: function (row, i, max) {
            return i + "/" + max + ": \"" + row.RazonSocial + " - \"" + row.NombreComercial + "\" [" + row.RFC + "]";
        },
        formatMatch: function (row, i, max) {
            return row.RazonSocial;
        },
        formatResult: function (row) {
            return row.RazonSocial;
        }
    }).result(function (event, item) {
        with (item) {
            if (id != 0) {

                $("#idProveedorCheque").val(id);
                
                    
            }
        }

    }).setOptions({ data: ListaProveedores });
}

function showRequestBancos() {
    if ($('#idRegistroBanco').val() != "0")
        CuentaNuevo = $('#idRegistroBanco').val();
    CrearLoaderDiv('#DivBancos', 'DivBancosLoader');
    NombreCuentaBancaria = $('#aliasCuenta').val();
}

function showSucessBancos() {
    if (CuentaNuevo == "0")
        MostrarAlerta("La Cuenta Bancaria <b>" + NombreCuentaBancaria + "</b> ha sido dada de alta en el sistema correctamente");
    else
        MostrarAlerta("La Cuenta Bancaria <b>" + NombreCuentaBancaria + "</b> ha sido actualizada correctamente!!");

}

function ShowErrorBancos(responseText, statusText) {
    MostrarError("<b>Error del sistema </b> Por favor verifique su informacion e intente de nuevo.");
    $("#DivBancosLoader").remove();
}


function ImprimirCheque(idCheque) {
    $("#iframeLoader").attr("src", "");
    var abonoCuentaBen = $("#abonoCuenta").attr('checked');
    var negociable = $("#noNegociable").attr('checked');
    var poliza = $("#polizaCheque").attr('checked');
    //alert(abonoCuentaBen + "-" + negociable + "-" + poliza);
    $("#iframeLoader").attr("src", "/ModuloBancos.aspx?cheque=" + idCheque + "&impresion=true&abono=" + abonoCuentaBen + "&negociable=" + negociable + "&poliza=" + poliza);
}


function ConfirmarBorrarCuenta() {

    var idregistro = $('#idCuentaDetalle').val();
    MostrarConfirmacion("De verdad quiere eliminar la Cuenta Bancaria?", "Eliminar Cotizacion", function () { CargarPaginaBancos("/moduloBancos.aspx?eliminar=true&idCuenta=" + idregistro); });

}


function ListadoMovimientosBancarios() {
    CargarPaginaBancos('/ModuloBancos.aspx?movimientos=1');
}

function ImprimirMovimientosBancarios() {
    $("#iframeLoader").attr("src", "");
    var contenido = $("#GridTableMovimientos").html();
    var fechaInicial = $("#movimientosFechaInicial").val();
    var fechaFinal = $("#movimientosFechaFinal").val();
    PostPrintReporte("Banco", contenido, fechaInicial, fechaFinal);
//    $("#iframeLoader").attr("src", "/ImpresionReporte.aspx?tipo=Banco&fechaInicial=" + fechaInicial + "&fechaFinal=" + fechaFinal + "&tablaReporte=" + contenido);
}





function ConfirmarDepositoBancario() {
    $(this).dialog("destroy");
    var randomnumber = Math.floor(Math.random() * 1001)
    $("#DivPagoAPedido").each(function () { $(this).remove(); });
    var template = $("#TemplatePagoCotizacion").html();
    template = template.replace(/Template/gi, "");
    $("#DivBancos").append(template);
    var fechaActual = new Date();
    var fechaActual2 = fechaActual.format("dd/mm/yyyy");
    //alert(fechaActual2);
    $("#FechaPagoPedido").val(fechaActual2).attr("readonly", "readonly").datepicker({ minDate: -30,
        maxDate: "+1M",
        numberOfMonths: 2,
        showButtonPanel: true
    });
    $('#MontoPagoPedido').val('$0.00');
    $('#SPANDescripcionDeposito').show();
    LoadCuentasBancarias();
    $("#CuentaBAncariaPedido").addItemsCuentas(ListaCuentasBancarias);

    $('#DivPagoAPedido').attr('title','Realizar Deposito en Cuenta Bancaria');

    $("#DivPagoAPedido").dialog({
        autoOpen: true,
        height: 430,
        width: 320,
        modal: true,
        resizable: false,
        buttons: {
            "Guardar Deposito": function () {

                var idCuentaPago = $('#CuentaBAncariaPedido option:selected').val();
                var idTipoDeposito = $('#TipoDepositoBancario option:selected').val();
                var noDocumentoPago = $('#NoDocumentoPedido').val();
                var fechaPago = $('#FechaPagoPedido').val();
                var totalMonto = $('#MontoPagoPedido').val();
                var descripcionDeposito = $('#DescripcionDeposito').val().toString();
                descripcionDeposito = URLEncode(descripcionDeposito);
                var urlPago = "/ModuloBancos.aspx?RealizarDepositoBancario=true&idCuentaBancaria=" + idCuentaPago + "&TotalPago=" + totalMonto + "&fechaPago=" + fechaPago + "&NoDocumento=" + noDocumentoPago + "&TipoDeposito=" + idTipoDeposito + "&descripcion=" + descripcionDeposito + "&des=1";
                //alert(urlPago);
                //alert(descripcionDeposito);
                $('#loaderDepositosBancarios').load(urlPago, function (response, status, xhr) {
                    MostrarAlerta(response);
                });

                // EnviarDocumentoEmail($('#idCotizacionMostrada').val(), $('#mensajeEmail').val());

                //$(this).dialog("destroy");
                $(this).dialog("close");

            },
            "Cancelar": function () {

                $(this).dialog("close");

            }
        },
        close: function () {
            //          $(this).dialog("destroy");
            $(this).dialog("destroy");
            // allFields.val("").removeClass("ui-state-error");
        }
    });
    //$(".ui-dialog"), find("#FechaPagoPedido").attr("id", "FechaPagoPedido" + randomnumber)

}